Administration of search results

ABSTRACT

A web browser displays a set of search results from a web search, each search result indicating a link to a web page. Responsive to selection of a first of the set of search results for exclusion from display, a subset of one or more of the set of search results that indicate related links is identified. The related links comprise links have a same domain name as the link of the first search result. The first search result and the subset of the set of search results are excluded. The search results are displayed without the excluded ones of the set of search results.

RELATED APPLICATIONS

This application is a continuation application that claims the benefitof U.S. application Ser. No. 11/002,546 filed Dec. 2, 2004.

BACKGROUND

Embodiments of the inventive subject matter generally relate to thefield of data processing, or, more specifically, administration ofsearch results.

Often when a user is doing a web search via a search engine, such as theGoogle search engine, the Yahoo! search engine, or the Ask Jeeves searchengine, many search results link to the same web site or even the sameweb page. Such duplicate search results occur because the same searchkeywords occur more than once on the same web page or web site. Suchduplicate search results may yield inefficiencies in searching becausemany of the search results in a set of search results displayed onseveral screens of data from the same search may represent links tosites or pages already visited and found to be of no interest.

SUMMARY

Embodiments include a method for administering search results thatcomprises displaying a set of search results from a web search, eachsearch result indicating a link to a web page. Responsive to selectionof a first of the set of search results for exclusion from display, asubset of one or more of the set of search results that indicate relatedlinks is identified. The related links comprise links have a same domainname as the link of the first search result. The first search result andthe subset of the set of search results are excluded. The search resultsare displayed without the excluded ones of the set of search results.

Embodiments include a method for administering search results thatcomprises identifying a subset of one or more of a set of search resultsthat indicate related links responsive to selection of a first of theset of search results on a web page displaying the set of search resultsfrom a search. The related links comprise links having a same domainname as the link of the first search result. All of the set of searchresults except the first search result and the subset of the set ofsearch results are excluded. The first search result and the subset ofthe set of search results are displayed.

BRIEF DESCRIPTION OF THE DRAWINGS

The present embodiments may be better understood, and numerous objects,features, and advantages made apparent to those skilled in the art byreferencing the accompanying drawings.

FIG. 1A sets forth a network diagram illustrating an exemplary systemfor administration of search results according to embodiments of thepresent invention.

FIG. 1B sets forth a block diagram of a browser capable of administeringsearch results according to embodiments of the present invention.

FIG. 2 sets forth a block diagram of automated computing machinerycomprising an exemplary computer capable of administration of searchresults according to embodiments of the present invention.

FIG. 3 sets forth a flow chart illustrating an exemplary method foradministration of search results according to embodiments of the presentinvention

FIG. 4 sets forth a flow chart illustrating an exemplary method ofselecting a search result

FIG. 5 depicts a graphical user interface (‘GUI’) of an exemplarysoftware application program, more particularly, in the example of FIG.5, a browser.

FIGS. 6 and 7 illustrate two related browser screens on the same browserdescribed regarding FIG. 5. FIG. 6 depicts a first screen of searchresults, and FIG. 7 depicts a second screen in the same set of searchresults.

DESCRIPTION OF EMBODIMENT(S)

The description that follows includes exemplary systems, methods,techniques, instruction sequences and computer program products thatembody techniques of the present inventive subject matter. However, itis understood that the described embodiments may be practiced withoutthese specific details. In other instances, well-known instructioninstances, protocols, structures and techniques have not been shown indetail in order not to obfuscate the description.

Introduction

The present invention is described to a large extent in thisspecification in terms of methods for administration of search results.Persons skilled in the art, however, will recognize that any computersystem that includes suitable programming means for operating inaccordance with the disclosed methods also falls well within the scopeof the present invention. Suitable programming means include any meansfor directing a computer system to execute the steps of the method ofthe invention, including for example, systems comprised of processingunits and arithmetic-logic circuits coupled to computer memory, whichsystems have the capability of storing in computer memory, whichcomputer memory includes electronic circuits configured to store dataand program instructions, programmed steps of the method of theinvention for execution by a processing unit.

The invention also may be embodied in a computer program product, suchas a diskette or other recording medium, for use with any suitable dataprocessing system. Embodiments of a computer program product may beimplemented by use of any recording medium for machine-readableinformation, including magnetic media, optical media, or other suitablemedia. Persons skilled in the art will immediately recognize that anycomputer system having suitable programming means will be capable ofexecuting the steps of the method of the invention as embodied in aprogram product. Persons skilled in the art will recognize immediatelythat, although most of the exemplary embodiments described in thisspecification are oriented to software installed and executing oncomputer hardware, nevertheless, alternative embodiments implemented asfirmware or as hardware are well within the scope of the presentinvention.

Glossary of Terms

Subject to the actual context in which they are used, the followingterms are used generally in this specification as defined here:

“Anchor element” refers to a markup language element that identifies andimplements a ‘link’ or ‘web link’ or ‘hyperlink.’ Links are the basichypertext construct, the central function of the web. A common exampleform of an anchor element is: <a href=“\\SrvrX\DocY”>Press Here ForDocument Y</a>

This example anchor element includes a start tag <a>, and end tag <\a>,an href attribute that identifies the target of the link as a documentnamed ‘DocY’ on a web server named ‘SrvrX,’ and an anchor. The “anchor”is the display text that is set forth between the start tag and the endtag. That is, in this example, the anchor is the text “Press Here ForDocument Y.” In typical usage, the anchor is displayed in highlighting,underscored, inverse, specially colored, or some other fashion settingit apart from other screen text and identifying it as an availablehyperlink. In addition, the screen display area of the anchor issensitized to user interface operations such as GUI pointer operationssuch as mouseclicks. In typical operation, a user points to the anchorwith a mouse pointer or other GUI pointer, clicks on the anchor toinvoke the link, and the browser then retrieves and displays Document Yfrom server SrvrX. The “anchor element” is the entire markup from thestart tag to the end tag.

“Browser,” as the term is used in this specification, generally means aweb browser, a software application for locating, requesting,retrieving, and displaying computer resources in the form of static ordynamic web pages or server-side scripting output. That is, a browser isa data communications application that requests web pages, receives themacross a network in accordance with a data communications protocol, anddisplays them on a computer display screen. The data communicationsprotocol may be HTTP, HDTP, WAP, and others as will occur to those ofskill in the art. The web pages may be static pages expressed in HTML,HDML, WML, and in other forms as will occur to those of skill in theart. The web pages may be generated dynamically from JSPs, ASPs, CGIscripts, and from other dynamic server page technologies as will occurto those of skill in the art. Web pages may include graphic images,video clips, audio clips, text, markup tags, and so on.

Browsers typically comprise both a web page display routines and a datacommunications client capable of communications in a protocol supportingmarkup languages, HTTP, HDTP, WAP, and so on. Browsers today typicallycan display text, graphics, audio and video. Browsers are operative inany computer capable of data communications including web-enableddevices, wireless web-enabled devices, microcomputers, PDAs, laptops,and so on. Browsers in wireless web-enabled devices often are downsizedbrowsers called “microbrowsers.” Browsers typically support not onlyHTML (the ‘HyperText Markup Language’), but other markup languages aswell, including for example, XML (the ‘eXtensible Markup Language’),and, in the case of wireless web-enabled devices, WML (the ‘WirelessMarkup Language’) and HDML (the ‘Handheld Device Markup Language’).

CGI means “Common Gateway Interface,” a standard technology for datacommunications of resources between web servers and web clients. Morespecifically, CGI provides a standard interface between servers andserver-side ‘gateway’ programs which administer actual reads and writesof data to and from files systems and databases. The CGI interfacetypically sends data to gateway programs through environment variablesor as data to be read by the gateway programs through their standardinputs. Gateway programs typically return data through standard output.It is typically a gateway program that provides a MIME type in a returnmessage header advising a server, and eventually therefore a browser orother communications client, of the type of data returned from CGIgateway programs.

A “hyperlink,” also referred to as “link” or “web link” is a referenceto a resource name or network address which when invoked allows thenamed resource or network address to be accessed. Often the hyperlinkidentifies a network address at which is stored a web page. As usedhere, “hyperlink” is a broader term than “HTML anchor element.”Hyperlinks include links effected through anchors as well as URIsinvoked through ‘back’ buttons or ‘forward’ buttons on browsers, whichdo not involve anchors. Hyperlinks include URIs typed into addressfields on browsers and invoked by a ‘Go’ button, also not involvinganchors. In addition, although there is a natural tendency to think ofhyperlinks as retrieving web pages, their use is broader than that. Infact, hyperlinks access “resources” generally available throughhyperlinks including not only web pages but many other kinds of data andserver-side script output as well.

“Network” is used in this specification to mean any networked couplingfor data communications among computers or computer systems. Examples ofnetworks useful with the invention include intranets, extranets,internets, local area networks, wide area networks, and other networksas will occur to those of skill in the art.

“Resource” means any aggregation of information administered overnetworks by various embodiments of the present invention. Networkcommunications protocols generally, for example, HTTP, transmitresources, not just files. A resource is an aggregation of informationcapable of being identified by a URL or URL. In fact, the ‘R’ in ‘URL’is ‘Resource.’ The most common kind of resource is a file, but resourcesinclude dynamically-generated query results, the output of a CGIscripts, Java servlets, dynamic server pages, Java server pages,documents available in several languages, and so on. It may sometimes beuseful to think of a resource as similar to a file, but more general innature. Files as resources include web pages, graphic image files, videoclip files, audio clip files, files of data having any MIME type, and soon. As a practical matter, most HTTP resources are currently eitherfiles or server-side script output. Server side script output includesoutput from CGI programs, Java servlets, Active Server Pages, JavaServer Pages, and so on.

“Server” in this specification refers to a computer or device comprisingautomated computing machinery on a network that manages networkresources. A “web server” in particular is a server that communicateswith browsers by means of data communications protocols supportinghyperlinks, HTTP, HDTP, WAP, and so on, for example.

A “URL” or “Universal Resource Locator” is an identifier of a namedobject in any namespace accessible through a network. URLs arefunctional for any access scheme, including for example, the FileTransfer Protocol or “FTP,” Gopher, and the web. A URL as used intypical embodiments of the present invention usually includes aninternet protocol address or a domain name that resolves to an internetprotocol address. The internet protocol address identifies a locationwhere a resource, particularly a web page, static or dynamic, a CGIscript, or a servlet, is located on an internet, a network that uses theInternet Protocol as its network layer data communications protocol.URLs directed to particular resources, such as particular HTML files,JPEG files, or MPEG files, typically include a path name or file namelocating and identifying a particular resource in a file system coupledto a network. To the extent that a particular resource, such as a CGIfile or a servlet, is executable, for example to store or retrieve data,a URL often includes query parameters, or data to be stored, in the formof data encoded into the URL. Such parameters or data to be stored arereferred to as ‘URL encoded data.’

“World Wide Web,” or more simply “the web,” refers to a system ofinternet protocol (“IP”) servers that support specially formatteddocuments, documents formatted in markup languages such as HTML, XML,WML, or HDML. The term “Web” is used in this specification also to referto any server or connected group or interconnected groups of serversthat implement data communications protocols in support of URLs anddocuments in markup languages, including, for example, the HyperTextTransport Protocol (“HTTP”), the Handheld Device Transport Protocol(“HDTP”), the Wireless Access Protocol (“WAP”), and so on as will occurto those of skill in the art.

Administration of Search Results

Exemplary methods, systems, and products for administration of searchresults according to embodiments of the present invention are describedwith reference to the accompanying drawings, beginning with FIG. 1A.FIG. 1A sets forth a network diagram illustrating an exemplary systemfor administration of search results according to embodiments of thepresent invention. The system of FIG. 1A operates generally toadminister search results according to embodiments of the presentinvention by displaying on a browser a set of search results from a websearch (where each search result contains a link to a web page),selecting a search result for exclusion from display (includingselecting for exclusion from display search results containing relatedlinks), and displaying the search results without the selected searchresult and without the search results containing related links.

The system of FIG. 1 includes four devices that support browsers:personal computer (108), laptop computer (110), PDA (112), and mobilephone (114). These four devices are coupled for data communications withweb servers (104, 106) through network (102). Web servers (104, 106) arecoupled to network (102) through wireline connections (124, 126)respectively. A web server (104, 106) is a computer that transmits webpages across a network in response to requests from browsers inaccordance with a data communications protocol. Network-enabled mobilephone (114) connects to network (102) through wireless connection (122),and PDA (112) connects to network (102) through wireless connection(120). In the example of FIG. 1, personal computer (108) connectsthrough wireline connection (116) to network (102), and laptop (110)connects through wireline connection (118) network (102). In the systemof FIG. 1, exemplary devices (108, 110, 112, 114) each supports abrowser improved to administer search results according to embodimentsof the present invention. Examples of browsers that may be improved toadminister search results according to embodiments of the presentinvention include Internet Explorer™, Netscape Communicator™, Mozilla™,and Firefox™.

The network connection aspect of the system of FIG. 1A is only forexplanation, not for limitation. Systems for administration of searchresults according to embodiments of the present invention are notlimited to four client devices (108, 110, 112, 114), nor to two webservers (104, 106), but in fact may include any number of client devicesand web servers. In addition, the arrangement of servers and otherdevices making up the exemplary system illustrated in FIG. 1A are forexplanation, not for limitation. Data processing systems foradministration of search results according to embodiments of the presentinvention may include additional servers, routers, other devices, andpeer-to-peer architectures, not shown in FIG. 1, as will occur to thoseof skill in the art. Networks in such data processing systems maysupport many data communications protocols, including for exampleTCP/IP, HTTP, WAP, HDTP, and others as will occur to those of skill inthe art. Various embodiments of the present invention may be implementedon a variety of hardware platforms in addition to those illustrated inFIG. 1. Moreover, systems for administration of search results accordingto embodiments of the present invention may be connected as LANs, WANs,intranets, internets, the Internet, webs, the World Wide Web itself, orother network arrangements as will occur to those of skill in the art.Such networks are media that may be used to provide data communicationsconnections between various devices and computers connected togetherwithin an overall data processing system.

‘Browser,’ as the term is used in this specification, generally means aweb browser, a software application for locating, requesting,retrieving, and displaying computer resources in the form of static ordynamic web pages, including server-side scripting output. For furtherexplanation, FIG. 1B sets forth a block diagram of a browser (142)capable of administering search results according to embodiments of thepresent invention. Browser (142) includes display routines in a displaymodule (128) and a data communications module (132). Browser (142) maydisplay text, graphics, audio, and video.

The browser of FIG. 1B operates generally to administer search resultsaccording to embodiments of the present invention by displaying on abrowser screen (136) a set of search results from a web search (whereeach search result contains a link to a web page), selecting a searchresult for exclusion from display (including selecting for exclusionfrom display search results containing related links), and displayingthe search results without the selected search result and without thesearch results containing related links. Browser (142) includes userinterface controls (134) capable of accepting user input from a keyboard(138), mouse (not shown), and other user input devices. Browser (142)selects a search result for exclusion from display according to userinput through a user input device. Browser (142) includes a browsercache (140), a region of computer memory where the browser storesretrieved web pages for display.

Browser (142) may be implemented or configured to administer searchresults according to embodiments of the present invention in anyautomated device capable of data communications including web-enableddevices, wireless web-enabled devices, microcomputers, PDAs, laptops,mobile phones, and so on. Browsers in wireless web-enabled devices oftenare downsized browsers called “microbrowsers.” Browsers may support notonly HTML (the ‘HyperText Markup Language’), but other markup languagesas well, including for example, XML (the ‘eXtensible Markup Language’),and, in the case of wireless web-enabled devices, WML (the ‘WirelessMarkup Language’) and HDML (the ‘Handheld Device Markup Language’).

Administration of search results in accordance with the presentinvention is generally implemented with automated devices, that is, withautomated computing machinery, referred to generally as ‘computers.’ Inthe system of FIG. 1A, for example, all the illustrated devices areimplemented to some extent at least as computers. For furtherexplanation, therefore, FIG. 2 sets forth a block diagram of automatedcomputing machinery comprising an exemplary computer (152) capable ofadministration of search results according to embodiments of the presentinvention. Computer (152) of FIG. 2 includes at least one computerprocessor (156) or ‘CPU’ as well as random access memory (168) (“RAM”)which is connected through a system bus (160) to processor (156) and toother components of the computer.

Stored in RAM (168) is a browser (142) that includes a datacommunications module (132), a browser cache (140), and a display module(128). The browser and its modules as illustrated in FIG. 2 are computerprogram instructions for requesting, receiving, and displaying webpages. The browser includes computer program instructions thatadminister search results according to embodiments of the presentinvention. Also stored in RAM (168) is an operating system (154).Operating systems useful in computers according to embodiments of thepresent invention include UNIX™, Linux™, Microsoft NT™, AIX™, and manyothers as will occur to those of skill in the art. Operating system(154) and browser (142) in the example of FIG. 2 are shown in RAM (168),but components of such software may be stored in non-volatile memory(166) also.

Computer (152) of FIG. 2 includes non-volatile computer memory (166)coupled through a system bus (160) to processor (156) and to othercomponents of the computer (152). Non-volatile computer memory (166) maybe implemented as a hard disk drive (170), optical disk drive (172),electrically erasable programmable read-only memory space (so-called‘EEPROM’ or ‘Flash’ memory) (174), RAM drives (not shown), or as anyother kind of computer memory as will occur to those of skill in theart.

The example computer of FIG. 2 includes one or more input/outputinterface adapters (178). Input/output interface adapters in computersimplement user-oriented input/output through, for example, softwaredrivers and computer hardware for controlling output to display devices(180) such as computer display screens, as well as user input from userinput devices (181) such as keyboards and mice.

The exemplary computer (152) of FIG. 2 includes a communications adapter(167) for implementing data communications (184) with other computers(182) including, for example, web servers. Such data communications maybe carried out through serially through RS-232 connections, throughexternal buses such as USB, through data communications networks such asIP networks, and in other ways as will occur to those of skill in theart. Communications adapters implement the hardware level of datacommunications through which one computer sends data communications toanother computer, directly or through a network. Examples ofcommunications adapters useful for determining availability of adestination according to embodiments of the present invention includemodems for wired dial-up communications, Ethernet (IEEE 802.3) adaptersfor wired network communications, and 802.11b adapters for wirelessnetwork communications.

For further explanation, FIG. 3 sets forth a flow chart illustrating anexemplary method for administration of search results according toembodiments of the present invention that includes displaying (402) by abrowser (142) a set of search results (408) from a web search, eachsearch result containing a link to a web page. Each link may berepresented in a web page by a markup element that includes a referenceto another web page. In HTML, for example, the links are represented byanchor elements <a></a> that include href parameters whose values areURLs. The URL have the form: www.domain_name, where www types the URL asa reference to a web page and domain_name is a domain name that includesone or more dotted qualifiers such as .com, .net, org, and so on.

The method of FIG. 2 also includes selecting (404) a search result forexclusion from display, thereby identifying a selected search result(410). Selecting a search result for exclusion may be carried out by auser's operating a user interface to identify a search result to beexcluded. In the method of FIG. 3, selecting a search result forexclusion from display includes selecting for exclusion from displaysearch results containing related links. The method of FIG. 3 alsoincludes displaying (406) the search results (408) without the selectedsearch result and without the search results containing related links.

In this example, related links are links related to the link (420) inthe selected search result Links are related according to domain name;links containing the same domain name are related. The link representedby the URL ‘www.ibm.com,’ for example, is related to the link‘www.ibm.com/us/.’ The link ‘www.ebay.com’ is related to the link‘www.ebay.com/myebay/.’ The link ‘www.ebay.com/myebay/’ is related tothe link ‘www.ebay.com/search/.’ And so on.

For further explanation, FIG. 4 sets forth a flow chart illustrating anexemplary method of selecting (404) a search result that includesvisiting (422) on the browser the web page linked by a search result,navigating (424) the browser back to the search results, and accepting(426) an instruction in the browser to exclude from display the searchresult containing a link to the visited web page and search resultscontaining related links. The method of FIG. 4 is explained in moredetail with reference to FIG. 5.

FIG. 5 depicts a graphical user interface (‘GUI’) of an exemplarysoftware application program, more particularly, in the example of FIG.5, a browser. The browser of FIG. 5 is an example of a computer softwareproduct improved to administer search results according to embodimentsof the present invention, that is, programmed at the source code levelor modified with a plug-in, to display a set of search results from aweb search (416 on FIG. 3), select a search result for exclusion fromdisplay (including selecting for exclusion from display search resultscontaining related links), and display the search results without theselected search result and without the search results containing relatedlinks.

The browser of FIG. 5, as depicted, has been operated to point to a website named “someSearchEngine.com,” as shown in the title bar of thebrowser display (514). The browser of FIG. 3 also includes a horizontalmenu (516) containing menu items named: File, Edit, View, Favorites(called ‘Bookmarks’ on some browsers), Exclude,

Tools, and Help. The browser of FIG. 5 includes a GUI toolbar (518) witha Back button, a Forward button, and buttons for refreshing the display,emailing the display, printing the display, and returning to a home pageconfigured in the browser. The toolbar buttons are better viewed onFIGS. 6 and 7 where they are not obscured by pull-down menu (504). Theexemplary browser of FIG. 5 includes an address bar (520) for use inbrowser navigation.

The browser of FIG. 5 has been operated to request of the search enginesearch results for the query ‘austin music festival.’ Several searchresults (522-532) are displayed on the browser screen. Each searchresult includes an anchor, some sample text from the web site linked tothe search result, and a URL that links the search result to a web page.In search result (522), for example, the anchor is “Austin CityLimits—2004 Festival,” the sample text is “ . . . all of you for provingagain that Austin is one of the greatest music cities . . . ,” and theURL is www.aclfestival.com/.

A ‘link’ is a reference to a URL which when invoked requests access to aresource identified by the URL. The term ‘link’ in this specificationincludes links to URLs effected through anchor elements, address barslike the one at reference (520), as well as ‘Back’ and ‘Forward’ buttonson a toolbar (518) of a browser. An anchor element is a markup languageelement that identifies and implements a hyperlink. An exemplary form ofan anchor element, here expressed in HTML, is: TABLE-US-00001<ahref=“www.aclfestival.com/index.html”>Austin City Limits—2004Festival</a>

This example anchor element includes a start tag <a>, and end tag </a>,an href attribute that identifies the target of the link as a web pagedocument named ‘index.html’ on a web server named ‘aclfestival.com,’ andan anchor. The “anchor” is the display text that is set forth betweenthe start tag and the end tag. That is, in this example, the anchor isthe text “Austin City Limits—2004 Festival.” The anchor often isdisplayed in highlighting, underscored, inverse, specially colored, orsome other fashion setting it apart from other screen text andidentifying it as an available hyperlink. In addition, the screendisplay area of the anchor is sensitized to user interface operationssuch as GUI pointer operations such as mouseclicks. A user may point tothe anchor with a mouse pointer or other GUI pointer, click on theanchor to invoke the link, and the browser then retrieves and displaysthe web page ‘index.html’ from server aclfestival.com. The ‘anchorelement’ is the entire markup from the start tag to the end tag. In theexample of FIG. 53, search result (522) is depicted with anchor “AustinCity Limits—2004 Festival,” and search result (524) is depicted withanchor “ACL Festival.”

In addition to the other button on toolbar (518), the toolbar on thebrowser of FIG. 5 includes a button (502) that supports selecting asearch result according to the method of FIG. 4. That is, the browser ofFIG. 5 is programmed to operate in response to a user's invoking button(502) after visiting the web page linked by a search result andnavigating the browser back to the search results, to accept the user'sinvoking button (502) as an instruction to exclude from display thesearch result containing a link to the visited web page and searchresults containing related links. A user may, for example, visit the webpage linked by search result (530), www.austincelts.org, navigate thebrowser back to the search results by mouse-clicking its Back button,and invoke button (502)—in response to which the browser is programmedto exclude from display the search result (530) containing a link to thevisited web page as well as the search result (532) containing therelated link www.autsincelts.org/festival/.

The browser may display the search results without the selected searchresult and without the search results containing related links bylocating the search results to be excluded in a cached web page,commenting them out, and then re-displaying or refreshing the web pagedisplay. In the example of visiting www.austincelts.org, when button(502) is invoked to ‘Exclude By Last Visited’ (506), the browserimplements a text search through its browser cache (140 on FIG. 1) forthe anchor text, the URL, the sample text from the linked web page, orany combination of these, comments out the entire search result, andrefreshes the display, thereby excluding the search result justcommented out.

Commenting out a search results is implemented by inserting commentmarks in the web page containing the search result. HTML comment marks,for example, have the following syntax: TABLE-US-00002<!--this is acomment--><!--and so is this one, which occupies more than one line-->

That is, HTML comments are a markup tag that includes an open delimiter“<!” and a close delimiter “.fwdarw.”. Information that appears inside acomment tag is ignored by the browser. The web page in the cachecontaining the illustrated search results may contain the following HTMLmarkup for search result (530): TABLE-US-00003<ahref=“www.austincelts.org/index.html”>Austin Celtic Festival 2004</a><p>. . . Austin Celtic Festival 2003 music, dance & culture of, Ireland,Scotland, . . . <p> www.austincelts.org/

Upon finding this segment of HTML for search result (530), the browsermay comment it out by inserting comment marks (<!--.fwdarw.) around it,so that it appears as follows: TABLE-US-00004<!--<ahref=“www.austincelts.org/index.html”>Austin Celtic Festival 2004</a><p>. . . Austin Celtic Festival 2003 music, dance & culture of, Ireland,Scotland, . . . <p>www.austincelts.org/

Upon refreshing the display, the browser's display module (128 onFIG. 1) now will ignore this search result entirely. Search resultsbehind the excluded search result are moved up automatically by thebrowser's display module so that no blank space is left on the screenwhere the excluded search result would have been displayed.

It is convenient to have a way to instruct the browser to exclude searchresults according to a last-visited web page because a user may oftendecide that the related search results and search results bearingrelated links are of no interest while visiting such a web page. Thatis, it is visiting the web page that helps to decide to exclude certainsearch results. On the other hand, the user may be able to determinefrom the sample text in a search result or may be able to determineotherwise, without visiting a web page, that the user has no interest insearch results for that page or related pages. The browser of FIG. 5therefore provides an alternative method for selecting a search resultfor exclusion from display, including selecting for exclusion fromdisplay search results containing related links, with no need to firstvisit the web page linked by a search result and navigate the browserback to the search results.

The browser of FIG. 5 is programmed to display pop-up menu (508) inresponse to a right mouse-click while the mouse pointer is over a searchresult. In the illustrated example, mouse pointer (510) has beenright-clicked over search result (526) to display pop-up menu (508). Thefirst menu item on pop-up menu (508) is named “Exclude,” and theexplanatory tooltip text for mouse pointer (510) is “Exclude By PointerSelection.” The browser in this example is programmed to operate inresponse to the selection of the menu item named “Exclude” by excludingfrom display the search result (526) that the mouse pointer is over. Thebrowser may display the search results without the selected searchresult and without the search results containing related links bylocating the search results to be excluded in a cached web page,commenting them out as described above, and then re-displaying orrefreshing the web page display.

The example browser of FIG. 5 includes a top-level horizontal menu itemnamed “Exclude” (512). Invoking menu item (512) displays pop-down menu(504) whose menu items implements alternative ways of selecting searchresults for exclusion. Invoking “Exclude All” on pop-down menu (504)configures the browser to select for exclusion from display all searchresults that contain related links, including the selected searchresult. Invoking “Exclude All Except” on pop-down menu (504) configuresthe browser to select for exclusion from display all search results thatcontain related links except the selected search result. Invoking“Exclude Following” on pop-down menu (504) configures the browser toselect for exclusion from display only search results that containrelated links and follow a selected search result in the set of searchresults. Invoking “Exclude Preceding” on pop-down menu (504) configuresthe browser to select for exclusion from display only search resultsthat contain related links and precede a selected search result in theset of search results.

Invoking “Exclude Depth” on pop-down menu (504) prompts the user tospecify a depth and configures the browser to select for exclusion fromdisplay only search results that contain links to web pages locatedabove the specified depth in a hierarchy of web pages in the web sitelinked by the selected search result. Setting the Exclusion Depth to alarge value, or invoking “Exclude All” on pull-down menu (504) mayconfigure the browser to select for exclusion from display all searchresults containing links to web pages in the web site linked by theselected search result. Setting the depth to ‘1’ may configure thebrowser to select for exclusion from display only search resultscontaining the same link that is in the selected search result. The menuitems of pull-down menu (504) may be invoked singly or in variouscombinations as may occur to those of skill in the art.

“Exclude Depth” refers to how deep into a URL pathway an exclusion iseffected. For example, there may be three URLs: TABLE-US-00005www.ibm.com/search/mouse_pad.html www.ibm.com/retrieve/dbase.htmlwww.ibm.com/retrieve/objbase.html

An Exclude Depth of “1” means that first string of characters leading upto the next “/” would be the characters needed to match to exclude. AnExclude Depth of “2” would imply that the first string of characters andsecond string of characters leading up the to the next “/”, with sets ofstrings delimited by “/”, would be the characters needed to match toexclude. Thus, if the user selected for exclusion a search result linkedby the URL “www.ibm.com/retrieve/objbase.html” and chose an ExcludeDepth of “1”, search results linked by all three of the above exampleURLs would be commented out in the browser cache and excluded fromdisplay. If, however, the user chose an Exclude Depth of “2”, then onlysearch results linked by the URLs with dbase.html and objbase.html wouldbe excluded as the URL “www.ibm.com/search” fails to match the exclusionparameters when the second string “search” fails to match “retrieve”.

For further explanation, server use cases are explained with referenceto FIGS. 6 and 7. FIGS. 6 and 7 illustrate two related browser screenson the same browser described above regarding FIG. 5. The browser hasbeen navigated to someSearchEngine.com and the search engine atsomeSearchEngine.com has been queried with “austin music festival.” Thesearch engine identified about 790,000 search results and, according tothe results line (536), returned enough search results to fill ninebrowser screens. As shown in the results lines (536, 616), FIG. 6depicts the first screen of search results, and FIG. 7 depicts thesecond. Browser configuration is set by the use of a pull-down menu likethe one shown at reference (504) on FIG. 5. Invoking a menu item on thepull-down menu to set a configuration parameter is referred to as‘setting’ the parameter. A user may select a search result for exclusionon this example browser either by visiting the web page linked by thesearch result, returning to the search results screen, and invokingbutton (502)—or by right-clicking on a search result and invoking the“Exclude” option on pop-up menu (508). Here are several exemplary usecases:

A user sets the configuration parameter “Exclude All” and selects searchresult (608) for exclusion. The browser refreshes the screens withoutsearch results (526, 602, 608, 610, 612, 614), sliding search results upfrom subsequent screens to fill the empty space left by the exclusions.

A user sets the configuration parameter “Exclude All Except” and selectssearch result (608) for exclusion. The browser leaves search result(608) on display and refreshes the screens without search results (526,602, 610, 612, 614), sliding search results up from subsequent screensto fill the empty space left by the exclusions. A user sets theconfiguration parameter “Exclude Following” and selects search result(610) for exclusion. The browser refreshes the screens without searchresults (612, 614), sliding search results up from subsequent screens tofill the empty space left by the exclusions.

A user sets the configuration parameter “Exclude Preceding” and selectssearch result (612) for exclusion. The browser refreshes the screenswithout search results (526, 602, 608, 610), sliding search results upfrom subsequent screens to fill the empty space left by the exclusions.

A user sets the configuration parameter “Exclude Depth” to ‘1’ andselects search result (602) for exclusion. The browser refreshes thescreens without search results (526, 608), sliding search results upfrom subsequent screens to fill the empty space left by the exclusions.

A user sets the configuration parameter “Exclude Following,” sets theconfiguration parameter “Exclude Depth” to ‘2,’ and selects searchresult (610) for exclusion. The browser refreshes the screens withoutsearch result (612), sliding a search result up from a subsequent screento fill the empty space left by the exclusion.

In view of the explanation set forth above in this specification,readers by now will understand that the benefits of administering searchresults according to embodiments of the present invention include:

Web searching is made more powerful because screen displays of searchresults are more concentrated with search results of interest,uninteresting search results being easily excluded with just a fewkeystrokes or mouse-clicks.

Searches are clearly, more meaningful, less confused. The prior artpractice of highlighting previously search results that link topreviously visited web sites is ambiguous. It provides no indicationwhether a previously visited web site was of interest to a searcher.Thus a user may visit a web site of no interest more than once becauseby the time the user is on the fourth screen of search results, the usercan no longer remember why a particular search result is highlighted.Administration of search results according to embodiments of the presentinvention, however, is unambiguous. Search results of interest continueto appear on display. Search results not of interest are excluded fromdisplay.

As will be appreciated by one skilled in the art, aspects of the presentinventive subject matter may be embodied as a system, method or computerprogram product. Accordingly, aspects of the present inventive subjectmatter may take the form of an entirely hardware embodiment, an entirelysoftware embodiment (including firmware, resident software, micro-code,etc.) or an embodiment combining software and hardware aspects that mayall generally be referred to herein as a “circuit,” “module” or“system.” Furthermore, aspects of the present inventive subject mattermay take the form of a computer program product embodied in one or morecomputer readable medium(s) having computer readable program codeembodied thereon.

Any combination of one or more computer readable medium(s) may beutilized. The computer readable medium may be a computer readable signalmedium or a computer readable storage medium. A computer readablestorage medium may be, for example, but not limited to, an electronic,magnetic, optical, electromagnetic, infrared, or semiconductor system,apparatus, or device, or any suitable combination of the foregoing. Morespecific examples (a non-exhaustive list) of the computer readablestorage medium would include the following: an electrical connectionhaving one or more wires, a portable computer diskette, a hard disk, arandom access memory (RAM), a read-only memory (ROM), an erasableprogrammable read-only memory (EPROM or Flash memory), an optical fiber,a portable compact disc read-only memory (CD-ROM), an optical storagedevice, a magnetic storage device, or any suitable combination of theforegoing. In the context of this document, a computer readable storagemedium may be any tangible medium that can contain, or store a programfor use by or in connection with an instruction execution system,apparatus, or device.

A computer readable signal medium may include a propagated data signalwith computer readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer readable signal medium may be any computer readable medium thatis not a computer readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with aninstruction execution system, apparatus, or device.

Program code embodied on a computer readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wireline, optical fiber cable, RF, etc., or any suitable combination ofthe foregoing.

Computer program code for carrying out operations for aspects of thepresent inventive subject matter may be written in any combination ofone or more programming languages, including an object orientedprogramming language such as Java, Smalltalk, C++ or the like andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The program codemay execute entirely on the user's computer, partly on the user'scomputer, as a stand-alone software package, partly on the user'scomputer and partly on a remote computer or entirely on the remotecomputer or server. In the latter scenario, the remote computer may beconnected to the user's computer through any type of network, includinga local area network (LAN) or a wide area network (WAN), or theconnection may be made to an external computer (for example, through theInternet using an Internet Service Provider).

Aspects of the present inventive subject matter are described withreference to flowchart illustrations and/or block diagrams of methods,apparatus (systems) and computer program products according toembodiments of the inventive subject matter. It will be understood thateach block of the flowchart illustrations and/or block diagrams, andcombinations of blocks in the flowchart illustrations and/or blockdiagrams, can be implemented by computer program instructions. Thesecomputer program instructions may be provided to a processor of ageneral purpose computer, special purpose computer, or otherprogrammable data processing apparatus to produce a machine, such thatthe instructions, which execute via the processor of the computer orother programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

These computer program instructions may also be stored in a computerreadable medium that can direct a computer, other programmable dataprocessing apparatus, or other devices to function in a particularmanner, such that the instructions stored in the computer readablemedium produce an article of manufacture including instructions whichimplement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer,other programmable data processing apparatus, or other devices to causea series of operational steps to be performed on the computer, otherprogrammable apparatus or other devices to produce a computerimplemented process such that the instructions which execute on thecomputer or other programmable apparatus provide processes forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

It will be understood from the foregoing description that modificationsand changes may be made in various embodiments of the present inventionwithout departing from its true spirit. The descriptions in thisspecification are for purposes of illustration only and are not to beconstrued in a limiting sense. The scope of the present invention islimited only by the language of the following claims.

While the embodiments are described with reference to variousimplementations and exploitations, it will be understood that theseembodiments are illustrative and that the scope of the inventive subjectmatter is not limited to them. In general, techniques for excludingsearch results as described herein may be implemented with facilitiesconsistent with any hardware system or hardware systems. Manyvariations, modifications, additions, and improvements are possible.

Plural instances may be provided for components, operations orstructures described herein as a single instance. Finally, boundariesbetween various components, operations and data stores are somewhatarbitrary, and particular operations are illustrated in the context ofspecific illustrative configurations. Other allocations of functionalityare envisioned and may fall within the scope of the inventive subjectmatter. In general, structures and functionality presented as separatecomponents in the exemplary configurations may be implemented as acombined structure or component. Similarly, structures and functionalitypresented as a single component may be implemented as separatecomponents. These and other variations, modifications, additions, andimprovements may fall within the scope of the inventive subject matter.

What is claimed is:
 1. A method for administration of search results,the method comprising: displaying a set of search results from a websearch, each search result indicating a link to a web page; responsiveto selection of a first of the set of search results for exclusion fromdisplay, identifying a subset of one or more of the set of searchresults that indicate related links, wherein the related links compriselinks having a same domain name as the link of the first search result,and determining that the links of the subset of the set of searchresults match the link of the first search result up to a specifieddepth in the uniform resource locator pathway; excluding the firstsearch result and the subset of the set of search results; anddisplaying the search results without the excluded ones of the set ofsearch results; wherein said determining that the links of the subset ofthe set of search results match the link of the first search result upto a specified depth in the URL pathway comprises determining that theuniform resource locators of the links of the subset of the searchresults match the uniform resource locator of the link of the firstsearch result up to a specified number of pathway delimiters, whereinthe specified number of pathway delimiters represents the specifieddepth.
 2. The method of claim 1, wherein excluding the first searchresult and the subset of the set of search results comprises modifying asearch result web page in cache of a web browser, wherein the searchresult web page comprises the set of search results.
 3. The method ofclaim 2, wherein said modifying the search result web page comprisescommenting out the selected search result and the subset of the set ofsearch results.
 4. A method for administration of search results, themethod comprising: displaying a set of search results from a web search,each search result indicating a link to a web page; responsive toselection of a first of the set of search results for exclusion fromdisplay, identifying a subset of one or more of the set of searchresults that indicate related links, wherein the related links compriselinks having a same domain name as the link of the first search result;excluding the first search result and the subset of the set of searchresults; performing one of: excluding all of the set of search resultssubsequent to the selected search result on a search result web pagethat comprises the set of search results, and excluding all of the setof search results preceding the selected search result on the searchresult web page that comprises the set of search results; and displayingthe search results without the excluded ones of the set of searchresults.
 5. An apparatus comprising: a computer processor; and acomputer memory operatively coupled to the computer processor, thecomputer memory having disposed within it computer program instructionsconfigured to: display a set of search results from a web search, eachsearch result indicating a link to a web page; responsive to selectionof a first of the set of search results for exclusion from display,identify a subset of one or more of the set of search results thatindicate related links, wherein the related links comprise links havinga same domain name as the link of the first search result; determinethat the links of the subset of the set of search results match the linkof the first search result up to a specified depth in the uniformresource locator pathway; exclude the first search result and the subsetof the set of search results; and display the search results without theexcluded ones of the set of search results; wherein the computer programinstructions configured to determine that the links of the subset of theset of search results match the link of the first search result up to aspecified depth in the URL pathway comprises the computer programinstructions configured to determine that the uniform resource locatorsof the links of the subset of the search results match the uniformresource locator of the link of the first search result up to aspecified number of pathway delimiters, wherein the specified number ofpathway delimiters represents the specified depth.
 6. The apparatus ofclaim 5, wherein the computer program instructions configured to excludethe first search result and the subset of the set of search resultscomprises the computer program instructions configured to modify asearch result web page in cache of a web browser, wherein the searchresult web page comprises the set of search results.
 7. The apparatus ofclaim 6, wherein the computer program instructions configured to modifythe search result web page comprises commenting out the selected searchresult and the subset of the set of search results.
 8. A computerprogram product for administration of search results, the computerprogram product comprising a non-transitory recording medium havingcomputer program instructions stored therein, the computer programinstructions configured to: display a set of search results from a websearch, each search result indicating a link to a web page; responsiveto selection of a first of the set of search results for exclusion fromdisplay, identify a subset of one or more of the set of search resultsthat indicate related links, wherein the related links comprise linkshaving a same domain name as the link of the first search result;exclude the first search result and the subset of the set of searchresults; determine that the links of the subset of the set of searchresults match the link of the first search result up to a specifieddepth in the uniform resource locator pathway; and display the searchresults without the excluded ones of the set of search results; whereinthe computer program instructions configured to determine that the linksof the subset of the set of search results match the link of the firstsearch result up to a specified depth in the URL pathway comprises thecomputer program instructions configured to determine that the uniformresource locators of the links of the subset of the search results matchthe uniform resource locator of the link of the first search result upto a specified number of pathway delimiters, wherein the specifiednumber of pathway delimiters represents the specified depth.
 9. Thecomputer program product of claim 8, wherein the computer programinstructions configured to exclude the first search result and thesubset of the set of search results comprises the computer programinstructions configured to modify a search result web page in cache of aweb browser, wherein the search result web page comprises the set ofsearch results.
 10. The computer program product of claim 9, wherein thecomputer program instructions configured to modify the search result webpage comprises commenting out the selected search result and the subsetof the set of search results.
 11. A computer program product foradministration of search results, the computer program productcomprising a non-transitory recording medium having computer programinstructions stored therein, the computer program instructionsconfigured to: display a set of search results from a web search, eachsearch result indicating a link to a web page; responsive to selectionof a first of the set of search results for exclusion from display,identify a subset of one or more of the set of search results thatindicate related links, wherein the related links comprise links havinga same domain name as the link of the first search result; exclude thefirst search result and the subset of the set of search results; excludeall of the set of search results subsequent to the selected searchresult on a search result web page that comprises the set of searchresults if a first exclusion command has been indicated; and exclude allof the set of search results preceding the selected search result on thesearch result web page that comprises the set of search results if asecond exclusion command has been selected; and display the searchresults without the excluded ones of the set of search results.